import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;


public class ListaCategoria implements IDatos {
	List <Categoria> LCategoria = new Vector <Categoria>();

public  void leerDatos(){
    String c;
    Categoria cat;
     
    StringBuffer seccion = new StringBuffer();
    try {
       	BufferedReader br = new BufferedReader(new FileReader("Granero.txt"));
         while ((c = br.readLine()) != null){
             c=c.trim();
             
             cat = new Categoria(); 
            
            StringBuffer pc1=new StringBuffer();
            StringBuffer pc2=new StringBuffer();
            StringBuffer pc3=new StringBuffer();
          
    
           if (c.length()!=0){//if1
           if (c.charAt(0)!='.'){//if2
        	   if (c.charAt(0)=='#') {
        		   seccion = new StringBuffer(c);
        		  //System.out.print(seccion);
        		   
        	   }
                    
            if (seccion.toString().compareTo("#Categorias") == 0){
        	   if(c.compareTo("#Categorias")==0)
            		continue;
  
            	Utils.tokennizar_cadena(c,pc1,pc2,pc3);
                
              //  System.out.println(pc1);
              //  System.out.println(pc2);
              //  System.out.println(pc3);
              //  System.out.println(pc4);
              //  System.out.println(pc5);
            	
            	cat.setCategoria(pc1.toString(),pc2.toString(),pc3.toString());
                                //this.LArticulo.add(art);
                anadirCategoria(cat);
                
            }
            
     } //del if2       
     }//del if1
  } //del while
         br.close();
    }//del try
         catch(IOException e){}
    }//de leerDatos()

void anadirCategoria(Categoria unaCategoria)
{
 LCategoria.add (unaCategoria);
}

public void escribirDatos(){
	
}

boolean existeCategoria(String idcod){
    Iterator<Categoria> iterCategoria = LCategoria.iterator();
        for (iterCategoria = LCategoria.iterator(); iterCategoria.hasNext(); )        
          { 
        	Categoria aux_Categoria= (Categoria)iterCategoria.next(); 
           if (aux_Categoria.getCod().compareTo(idcod)==0)
               return true;
      }
    return false;
 
}

Categoria recuperarCategoria(String idcod){
    Iterator<Categoria> iterCategoria = LCategoria.iterator();
        for (iterCategoria = LCategoria.iterator(); iterCategoria.hasNext(); )        
          { 
        	Categoria aux_Categoria= (Categoria)iterCategoria.next(); 
           if (aux_Categoria.getCod().compareTo(idcod)==0)
               return aux_Categoria;
      }
    return null;
}


void borrarCategoria(String idcod)
{
	Iterator<Categoria> iterCategoria = LCategoria.iterator();
    for (iterCategoria = LCategoria.iterator(); iterCategoria.hasNext(); )        
      { 
    	Categoria aux_Categoria= (Categoria)iterCategoria.next(); 
       if (aux_Categoria.getCod().compareTo(idcod)==0){
    	   System.out.println("La Categoria n. " + aux_Categoria.getCod() + " ha sido borrada de la lista" );
    	   LCategoria.remove(aux_Categoria);
    	   break;
   } // if
 } // for
}

void listarCategoria(Categoria a){
	System.out.println("Codigo: " + a.getCod());
	System.out.println("Nombre: " + a.getNombre());
	System.out.println("Porcentaje: " + a.getPorcentaje());
	
}

void listarTodasCategorias(){
	
	Iterator<Categoria> iterCategoria = LCategoria.iterator();
    for (iterCategoria = LCategoria.iterator(); iterCategoria.hasNext(); )        
      { 
    	Categoria a= (Categoria)iterCategoria.next(); 
	System.out.println("Cod Categoria: " + a.getCod());
	System.out.println("Nombre Categoria: " + a.getNombre());
	System.out.println("Porcentaje: " + a.getPorcentaje());
	
      }
}

}//de la clase ListaCategoria